type PercentageParser<A extends string, P extends string = "", L extends string = ""> = 
    A extends `${infer R}${infer T}` ? R extends `${'+' | '-'}` 
    ? PercentageParser<T, R> : R extends `${0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9}` 
    ? PercentageParser<T, P, `${L}${R}`> : R extends '%' ? [P, L, '%'] : [P, L, '']
    : [P, L, '']